1. Technical Field
The present invention relates to a method for co-ordinating the actions of a group of users, applications, or devices who communicate via a network, and to devices which are capable of performing such a method.
2. Related Art
With this invention the general problem that we are trying to solve is that of coordination between different numbers of receivers, or alternatively, if we describe the problem as a temporal process model then the problem becomes the coordination of different activities that participate in the achievement of a final objective.
In general the technical literature available in the art shows a distinct lack of solutions to control and coordinate a large population of networked devices. Network scenarios where a sender is able to contact a large number of receivers using a single communication channel are known, and in general the protocol used to achieve this goal is IP-Multicast, although in the last few years other interesting application layer solutions have also been developed. A transport protocol exploiting either IP multicast or other group communication techniques provides a very important benefit allowing the sender to send a message to multiple receivers using a single local transmit operation. Another important aspect of these techniques is that no messages are sent back from receivers to the server, so the server is not overloaded and in general no information relating to the receivers is maintained on the sender side. Such features are fine provided that no coordination of the senders and receivers is required, but once such co-ordination becomes necessary then the existing group communication techniques face problems.
Within the prior art such problems have been addressed as a session announcement problem, and the Session Announcement Protocol (SAP) proposes this approach. SAP (described by Mark Handley et al. SAP: Session Announcement Protocol, IETF work in progress, June 1999) is a straightforward protocol where a session creator multicasts packets periodically to a well-known multicast group carrying an SDP (Session Description Protocol) description of the session. Receivers that want to know which session is going to be active then listen to a well-known multicast channel and receive the packets.
As an alternative to SAP, BT Exact Technologies have developed a Generic Announcement Protocol that is more scalable and powerful than SAP and is capable of announcing different sessions at the same time thanks to the data structure that it exploits. GAP is described fully in International Patent application no PCT/GB01/02681, to which the reader is referred. However neither of these protocols are able to guarantee coordination between different users since they do not provide any feedback channel. In this respect, information directed from the receiver to the sender is usually known as feedback. Several existing techniques of feedback are known in the art, discussed next.
Within the art it is possible to find several implementations of feedback in group communications, most of which exist in the context of reliable multicast in order to improve reliability of group communication scheme. For examples see J. Nonnenmacher and E. W. Biersack. Scalable feedback for large groups. IEEE/ACM Transactions on Networking 1999; FUHRMANN, T., AND WIDMER, J. On the scaling of feedback algorithms for very large multicast groups. Computer Communications 24, 5-6 (March 2001), 539 547; and WIDMER, J., AND FUHRMANN, T. Extremum feedback for very large multicast groups. Tech. Rep. TR 12-2001, Prakfische Informatik IV, University of Mannheim, Germany, May 2001. The main challenge of these mechanisms is to deal with very large and variable sets of population so as to alleviate the problem of implosion on the interface or on the server that is requesting feedback. Feedback methods generally exist in two forms: end-to-end feedback methods and aggregated feedback.
End-to-end feedback protocols avoid feedback implosion by estimating the dimension of the population. One of the main important pieces of prior art provides a probabilistic model and shows that feedback implosion could be mitigated using appropriate probabilistic functions.
Aggregate feedback mechanisms are specific methods to elaborate more specific feedback. In this case intermediate receivers organized in a hierarchy structure construct the feedback. The complexity of the scheme is higher but the sampled value could be more accurate.
Moreover, the co-ordination of large groups exploiting group communication protocols may also be performed with an aggregate feedback mechanism and more specifically an extremum feedback algorithm that could avoid overloading the sender with useless messages. Such an algorithm is described by Widmer et al. referenced above. However with such an algorithm an initiator may have to spend a lot of resources in terms of bandwidth and cpu processor time. Furthermore the technique can only give an overall sample of the population because of its statistical nature and network reliability problems.
There is therefore still a need to provide for coordinated group communications or actions via a network which is not resource-intensive, and which provides for positive co-ordination of groups.